package com.blockchain.console.service.trading.query;

import java.io.IOException;
import java.math.BigDecimal;
import java.sql.Timestamp;

import javax.servlet.ServletException;

import com.blockchain.common.enums.IsPass;
import com.blockchain.common.enums.ZrState;
import com.blockchain.framework.http.upload.UploadFile;

/**
 * 虚拟币
 * 
 * 
 */
public  abstract interface XlbQuery {
	/**
	 * 英文简称
	 */
	public  abstract String getYwjc();

	/**
	 * 英文名称
	 * 
	 */
	public  abstract String getYwm();

	/**
	 * 中文名称
	 * 
	 */
	public abstract String getZwm();

	/**
	 * 图标路径
	 * @throws ServletException 
	 * @throws IOException 
	 * 
	 */
	public  abstract UploadFile getTblj() throws Throwable;

	/**
	 * 是否正常转入
	 * 
	 */
	public abstract ZrState getZc_zr();

	/**
	 * 是否正常转出
	 * 
	 */
	public abstract IsPass getZc_zc();

	/**
	 * 转出最小限制
	 * 
	 */
	public abstract BigDecimal getZx_xz();

	/**
	 * 转出最大限制
	 * 
	 */
	public abstract BigDecimal getZd_xz();

	/**
	 * 最低转出手续费
	 * 
	 */
	public abstract BigDecimal getZd_sxf();

	/**
	 * 转出最高手续费率
	 * 
	 */
	public abstract BigDecimal getZg_sxf();

	/**
	 * 热钱包地址
	 * 
	 */
	public abstract String getR_qbdz();

	/**
	 * 热钱包私钥
	 * 
	 */
	public abstract String getR_qbsy();

	/**
	 * 冷钱包地址
	 * 
	 */
	public abstract String getL_qbdz();

	/**
	 * 是否自动转入冷钱包
	 * 
	 */
	public abstract IsPass getSfzdzrlqb();

	/**
	 * 大于多少自动转入
	 * 
	 */
	public abstract String getDy_zdzr();

	/**
	 * 时间,大于等于查询.
	 * 
	 * @return {@link Timestamp}null无效.
	 */
	public abstract Timestamp getCreateTimeStart();

	/**
	 * 时间,小于等于查询.
	 * 
	 * @return {@link Timestamp}null无效.
	 */
	
	public abstract Timestamp getCreateTimeEnd();
	
	
	/**
	 * 钱包服务器ip
	 * @return
	 */
	public abstract String getWalletIp();
	
	/**
	 * 钱包服务器端口
	 * @return
	 */
	public abstract String getWalletPort();
	
	/**
	 * 钱包服务器用户名
	 * @return
	 */
	public abstract String getWalletUsername();
	
	/**
	 * 钱包服务器密码
	 * @return
	 */
	public abstract String getWalletPassword();
	
	/**
	 * 推出日期
	 * @return
	 */
	public abstract Timestamp getTcrq();
	
	/**
	 * 方法ID
	 * @return
	 */
	public abstract String getMethodId();
	
	/**
	 * 合约地址
	 * @return
	 */
	public abstract String getContractAddress();
	
	/**
	 * 单位
	 * @return
	 */
	public abstract String getUnit();
	
	/**
	 * 币种类型
	 * @return
	 */
	public abstract String getCoinType();
	/**
	 * 超过多少转入热钱包
	 * @return
	 */
	public abstract String getTranHotWallet();
	
	/**
	 * 虚拟币繁体名称
	 * @return
	 */
	public abstract String getCoinNameTw();
	
	/**
	 * 虚拟币描述信息-简体
	 * @return
	 */
	public abstract String getCoinDesc();
	
	/**
	 * 虚拟币描述信息-英文
	 * @return
	 */
	public abstract String getCoinDescEn();
	
	/**
	 * 虚拟币描述信息-繁体
	 * @return
	 */
	public abstract String getCoinDescTw();
}
